package com.hiyee.pojo;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Table(name = "b2c_goods_product")
public class Product extends BasePojo{
    /**
     * 商品ID
     */
    @Id
    @Column(name = "product_id")
    private Integer productId;

    /**
     * 货品ID
     */
    @Column(name = "goods_id")
    private Long goodsId;

    /**
     * 商品库存
     */
    @Column(name = "stock_qty")
    private Integer stockQty;

    /**
     * 销售价
     */
    @Column(name = "sales_price")
    private BigDecimal salesPrice;

    /**
     * 市场价
     */
    @Column(name = "market_price")
    private BigDecimal marketPrice;

    /**
     * 会员价
     */
    @Column(name = "member_price")
    private BigDecimal memberPrice;

    /**
     * 采购价
     */
    @Column(name = "purchase_price")
    private BigDecimal purchasePrice;

    /**
     * 成本价
     */
    @Column(name = "cost_price")
    private BigDecimal costPrice;

    /**
     * 规格的ID
     */
    @Column(name = "spec_ids")
    private List<Long> specIds;

    /**
     * 规格ID字符串
     */
    @Column(name = "spec_ids_str")
    private String specIdsStr;

    /**
     * 规格
     */
    private String specs;

    /**
     * 商品图片
     */
    @Column(name = "image_url")
    private String imageUrl;

    /**
     * 已售数量
     */
    @Column(name = "sold_num")
    private String soldNum;

    /**
     * 上下架状态：0下架1上架
     */
    @Column(name = "on_sale")
    private Boolean onSale;

    /**
     * 创建时间
     */
    @Column(name = "created_at")
    private Date createdAt;

    /**
     * 更新时间
     */
    @Column(name = "updated_at")
    private Date updatedAt;

    /**
     * 获取商品ID
     *
     * @return product_id - 商品ID
     */
    public Integer getProductId() {
        return productId;
    }

    /**
     * 设置商品ID
     *
     * @param productId 商品ID
     */
    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    /**
     * 获取货品ID
     *
     * @return goods_id - 货品ID
     */
    public Long getGoodsId() {
        return goodsId;
    }

    /**
     * 设置货品ID
     *
     * @param goodsId 货品ID
     */
    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    /**
     * 获取商品库存
     *
     * @return stock_qty - 商品库存
     */
    public Integer getStockQty() {
        return stockQty;
    }

    /**
     * 设置商品库存
     *
     * @param stockQty 商品库存
     */
    public void setStockQty(Integer stockQty) {
        this.stockQty = stockQty;
    }

    /**
     * 获取销售价
     *
     * @return sales_price - 销售价
     */
    public BigDecimal getSalesPrice() {
        return salesPrice;
    }

    /**
     * 设置销售价
     *
     * @param salesPrice 销售价
     */
    public void setSalesPrice(BigDecimal salesPrice) {
        this.salesPrice = salesPrice;
    }

    /**
     * 获取市场价
     *
     * @return market_price - 市场价
     */
    public BigDecimal getMarketPrice() {
        return marketPrice;
    }

    /**
     * 设置市场价
     *
     * @param marketPrice 市场价
     */
    public void setMarketPrice(BigDecimal marketPrice) {
        this.marketPrice = marketPrice;
    }

    /**
     * 获取会员价
     *
     * @return member_price - 会员价
     */
    public BigDecimal getMemberPrice() {
        return memberPrice;
    }

    /**
     * 设置会员价
     *
     * @param memberPrice 会员价
     */
    public void setMemberPrice(BigDecimal memberPrice) {
        this.memberPrice = memberPrice;
    }

    /**
     * 获取采购价
     *
     * @return purchase_price - 采购价
     */
    public BigDecimal getPurchasePrice() {
        return purchasePrice;
    }

    /**
     * 设置采购价
     *
     * @param purchasePrice 采购价
     */
    public void setPurchasePrice(BigDecimal purchasePrice) {
        this.purchasePrice = purchasePrice;
    }

    /**
     * 获取成本价
     *
     * @return cost_price - 成本价
     */
    public BigDecimal getCostPrice() {
        return costPrice;
    }

    /**
     * 设置成本价
     *
     * @param costPrice 成本价
     */
    public void setCostPrice(BigDecimal costPrice) {
        this.costPrice = costPrice;
    }

    /**
     * 获取规格的ID
     *
     * @return spec_ids - 规格的ID
     */
    public List<Long> getSpecIds() {
        return specIds;
    }

    /**
     * 设置规格的ID
     *
     * @param specIds 规格的ID
     */
    public void setSpecIds(List<Long> specIds) {
        this.specIds = specIds;
    }

    /**
     * 获取规格ID字符串
     *
     * @return spec_ids_str - 规格ID字符串
     */
    public String getSpecIdsStr() {
        return specIdsStr;
    }

    /**
     * 设置规格ID字符串
     *
     * @param specIdsStr 规格ID字符串
     */
    public void setSpecIdsStr(String specIdsStr) {
        this.specIdsStr = specIdsStr;
    }

    /**
     * 获取规格
     *
     * @return specs - 规格
     */
    public String getSpecs() {
        return specs;
    }

    /**
     * 设置规格
     *
     * @param specs 规格
     */
    public void setSpecs(String specs) {
        this.specs = specs;
    }

    /**
     * 获取商品图片
     *
     * @return image_url - 商品图片
     */
    public String getImageUrl() {
        return imageUrl;
    }

    /**
     * 设置商品图片
     *
     * @param imageUrl 商品图片
     */
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    /**
     * 获取已售数量
     *
     * @return sold_num - 已售数量
     */
    public String getSoldNum() {
        return soldNum;
    }

    /**
     * 设置已售数量
     *
     * @param soldNum 已售数量
     */
    public void setSoldNum(String soldNum) {
        this.soldNum = soldNum;
    }

    /**
     * 获取上下架状态：0下架1上架
     *
     * @return on_sale - 上下架状态：0下架1上架
     */
    public Boolean getOnSale() {
        return onSale;
    }

    /**
     * 设置上下架状态：0下架1上架
     *
     * @param onSale 上下架状态：0下架1上架
     */
    public void setOnSale(Boolean onSale) {
        this.onSale = onSale;
    }

    /**
     * 获取创建时间
     *
     * @return created_at - 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置创建时间
     *
     * @param createdAt 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取更新时间
     *
     * @return updated_at - 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置更新时间
     *
     * @param updatedAt 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }
}